In image coding techniques such as MPEG2, H.264, and the like, an intra coding process and an inter coding process are used. In the intra coding process, coding is completed within a frame to be coded, without using any reference frame. In the inter coding process, coding for a frame to be coded is performed by using one or more reference frames.
All macroblocks included in an I picture are coded by the intra coding process. Macroblocks included in a P picture and a B picture are coded by the inter coding process. Since all the macroblocks in the I picture are intra-coded, the amount of generated codes in the I picture is larger than that in the P picture or the B picture. Even in the H.264 where an intra prediction technique is used, the amount of generated codes in the I picture is still larger than that in the P picture or the B picture.
In a system in which low-delay reproduction or transmission is required, an increase in the amount of generated codes in the I picture becomes a problem. Further, there is another problem that the amount of generated codes oscillates in a cycle of appearance of the I picture. When the amount of generated codes oscillates, a larger buffer size is temporarily needed, which is inefficient.